﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebHoiChoMuaBan.Controllers.Helpers;
using WebHoiChoMuaBan.Models;
using WebHoiChoMuaBan.Controllers.Utility;
using System.Drawing;
using System.IO;

namespace WebHoiChoMuaBan.Controllers.Private
{
    public class ProductCreateController : PrivateController
    {
        //
        // GET: /CreateProduct/
        //public void Init()
        //{
        //    //Load tất cả các danh mục
        //    CategoryHelper cateHelper = new CategoryHelper();
        //    ViewData["Categories"] = new SelectList(cateHelper.GetListParentCategory(), "CateId", "CateName");
        //    UtilityModel uModel = new UtilityModel();
        //    ViewData["Provinces"] = uModel.ListProvince();
        //    LoadTimeAndCurrency();
        //}

        //public void UploadImageToServer(HttpPostedFileBase hpf)
        //{
        //    ImageHelper imgHelper = new ImageHelper();
        //    if (imgHelper.CheckInfoIcon(hpf))
        //    {

        //        string thumbImgName = "thumbnail_" + hpf.FileName;
        //        Bitmap thumbImg = imgHelper.ResizeImage(hpf.InputStream, 42, 42);
        //        Bitmap image = imgHelper.ResizeImage(hpf.InputStream, 200, 200);
        //        var path_thumbImg = Path.Combine(Server.MapPath("~/Content/Images/Upload/Thumbnail"), thumbImgName);
        //        var path = Path.Combine(Server.MapPath("~/Content/Images/Upload"), hpf.FileName);
        //        image.Save(path);
        //        thumbImg.Save(path_thumbImg);
        //        image.Dispose();
        //    }
        //}

        //public ActionResult Index(int? uid)
        //{
        //    if (!this.IsLogin || uid == null)
        //        return HomePage();

        //    var result = LoadMember(uid.Value);
        //    if (result == null) //Load được Member
        //    {
        //        Init();
        //        return View("~/Views/Private/ProductCreate.aspx");
        //    }
        //    return result;
        //}

        //[HttpPost, ValidateInput(false)]
        //public ActionResult AddProduct(FormCollection data)
        //{
        //    int uid = (int)Session["MemId"];
        //    MemberHelper hMem = new MemberHelper(uid);
        //    ViewData["hMem"] = hMem;

        //    string newsType = data.Get("NewsType");
        //    ViewData["NewsType"] = newsType;
        //    //ViewData["ddlCateLevel1"] = int.Parse(data.Get("ddlCateLevel1"));
        //    //Đăng phần sản phầm
        //    if (newsType.Equals("Product"))
        //    {
        //        NewsProduct newsProduct = new NewsProduct();
        //        newsProduct.NProNeedType = data.Get("grpDemand");
        //        newsProduct.CateId = int.Parse(data.Get("ddlCateLevel2"));
        //        newsProduct.ProvId = int.Parse(data.Get("ddlProvince"));
        //        newsProduct.NProTitle = data.Get("txtTitle");
        //        newsProduct.NProFrom = data.Get("txtFrom");
        //        decimal price = data.Get("txtPrice") == "" ? 0 : decimal.Parse(data.Get("txtPrice"));
        //        newsProduct.NProPrice = price;
        //        newsProduct.NProIntro = data.Get("txtIntro");
        //        newsProduct.NProContent = data.Get("txtDetailContent");
        //        newsProduct.NProDate = DateTime.Now;
        //        newsProduct.MemId = (int)Session["MemId"];
        //        ViewData["NewsProduct"] = newsProduct;
        //        if (newsProduct.IsValid)
        //        {
        //            //Thêm NewsProduct vào CSDL
        //            NewsProductHelper newsProHelper = new NewsProductHelper();
        //            newsProHelper.Add(newsProduct);
        //            newsProHelper.Save();

        //            //Sau khi insert Thông tin của sản phẩm vào CSDL thì mới lưu thông tin hình ảnh
        //            //Mục đích là để tạo ra NProId trước, sau đó mới newsProductThumb mới tham chiếu vào id đó
        //            //Phần hình minh họa
        //            NewsProductThumbHelper newsProThumbHelper = new NewsProductThumbHelper();
        //            NewsProductThumb newsProductThumb = null;

        //            bool isMainThumb = true;
        //            foreach (string file in Request.Files)
        //            {
        //                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
        //                if (hpf.ContentLength == 0)
        //                    continue;
        //                string fileName = hpf.FileName;
        //                newsProductThumb = new NewsProductThumb();
        //                newsProductThumb.NProId = newsProduct.NProId;
        //                newsProductThumb.NProThumbName = fileName;
        //                if (isMainThumb)
        //                {
        //                    //Up hình lên server
        //                    UploadImageToServer(hpf);
        //                    //Thêm vào CSDL 
        //                    newsProductThumb.NProThumbIsMain = true;
        //                    isMainThumb = false;
        //                    newsProThumbHelper.Add(newsProductThumb);
        //                    newsProThumbHelper.Save();
        //                    continue;
        //                }
        //                newsProductThumb.NProThumbIsMain = false;

        //                //Upload hình lên server
        //                UploadImageToServer(hpf);
        //                //Thêm vào CSDL
        //                newsProThumbHelper.Add(newsProductThumb);
        //                newsProThumbHelper.Save();
        //            }
        //        }
        //        else
        //        {
        //            foreach (var issue in newsProduct.GetRuleViolations())
        //            {
        //                ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
        //            }
        //            Init();
        //            return View("~/Views/Private/ProductCreate.aspx");
        //        }
        //    }
        //    else //Đăng phần nhà đất
        //    {
        //        NewsProduct newsProduct = new NewsProduct();
        //        newsProduct.NProNeedType = data.Get("grpDemand");
        //        newsProduct.CateId = int.Parse(data.Get("ddlCateLevel2"));
        //        newsProduct.ProvId = int.Parse(data.Get("ddlProvince"));
        //        newsProduct.NProTitle = data.Get("txtTitle");
        //        decimal price = data.Get("txtPrice") == "" ? 0 : decimal.Parse(data.Get("txtPrice"));
        //        newsProduct.NProPrice = price;
        //        newsProduct.NProPriceUnit = data.Get("cbbCurrency");
        //        newsProduct.NProIntro = data.Get("txtIntro");
        //        newsProduct.NProContent = data.Get("txtDetailContent");
        //        newsProduct.NProDate = DateTime.Now;
        //        newsProduct.MemId = (int)Session["MemId"];
        //        ViewData["NewsProduct"] = newsProduct;
        //        if (newsProduct.IsValid)
        //        {
        //            //Thêm các thuộc tính của ngôi nhà vào CSDL trước, mục đích là tạo ra id trước
        //            //sau đó mới tham chiếu id vừa tạo vào bảng NewsProduct
        //            RealEstateAttribute attr = new RealEstateAttribute();

        //            // Phần Tiện ích
        //            attr.RAttrWaterSystem = data.Get("ckbWaterSystem") != null ? true : false;
        //            attr.RAttrPrivateElecClock = data.Get("ckbPrivateElecClock") != null ? true : false;
        //            attr.RAttrUsableArea = data.Get("txtUsableArea") != "" ? double.Parse(data.Get("txtUsableArea")) : 0;
        //            attr.RAttrTotalArea = data.Get("txtTotalArea") != "" ? double.Parse(data.Get("txtTotalArea")) : 0;
        //            attr.RAttrFloorCount = data.Get("txtFloorCount") != "" ? int.Parse(data.Get("txtFloorCount")) : 0;

        //            //Phần Nội thất - Tiện nghi
        //            attr.RAttrElevator = data.Get("ckbElevator") != null ? true : false;
        //            attr.RAttrGarden = data.Get("cbkGarden") != null ? true : false;
        //            attr.RAttrPhoneLine = data.Get("ckbPhoneLine") != null ? true : false;
        //            attr.RAttrGarage = data.Get("ckbGarage") != null ? true : false;
        //            attr.RAttrSecurity24 = data.Get("ckbSecurity24") != null ? true : false;
        //            attr.RAttrAirCondition = data.Get("ckbAirCondition") != null ? true : false;
        //            attr.RAttrSwimmingPool = data.Get("ckbSwimmingPool") != null ? true : false;
        //            attr.RAttrLivingRoom = data.Get("ckbLivingRoom") != null ? true : false;
        //            attr.RAttrCarParking = data.Get("ckbCarParking") != null ? true : false;
        //            attr.RAttrTopFloor = data.Get("ckbTopFloor") != null ? true : false;
        //            attr.RAttrKitchen = data.Get("ckbKitchen") != null ? true : false;

        //            //Phần Văn hóa - Xã hội
        //            attr.RAttrNearPark = data.Get("ckbNearPark") != null ? true : false;
        //            attr.RAttrNearComCentral = data.Get("ckbNearComCentral") != null ? true : false;
        //            attr.RAttrNearHighSchool = data.Get("ckbNearHighSchool") != null ? true : false;
        //            attr.RAttrForBusiness = data.Get("ckbForBusiness") != null ? true : false;
        //            attr.RAttrForEnterCenter = data.Get("ckbNearEnterCenter") != null ? true : false;
        //            attr.RAttrNearColleage = data.Get("ckbNearColleage") != null ? true : false;
        //            attr.RAttrNearMarket = data.Get("ckbNearMarket") != null ? true : false;
        //            attr.RAttrNearPrimarySchool = data.Get("ckbNearPrimarySchool") != null ? true : false;
        //            attr.RAttrNearKinderGarden = data.Get("ckbNearKinderGarden") != null ? true : false;
        //            attr.RAttrNearHospital = data.Get("ckbNearHospital") != null ? true : false;
        //            attr.RAttrNearSecondarySchool = data.Get("ckbNearSecondarySchool") != null ? true : false;
        //            attr.RAttrHighIntelResident = data.Get("ckbHighIntelResident") != null ? true : false;

        //            //Tình trạng - Pháp lý
        //            switch (data.Get("Book"))
        //            {
        //                case "RedBook": attr.RAttrRedBook = true; break;
        //                case "PinkBook": attr.RAttrPinkBook = true; break;
        //                case "rbtHandWritingBook": attr.RAttrHandwrittingBook = true; break;
        //            }

        //            //Thêm attr vào CSDL
        //            RealEStateAttributeHelper attrHelper = new RealEStateAttributeHelper();
        //            attrHelper.Add(attr);
        //            attrHelper.Save();

        //            //Tham chiếu các thuộc tính nhà đất vào đối tượng "newsProduct"
        //            newsProduct.RAttrId = attr.RAttrId;

        //            //Thêm NewsProduct vào CSDL
        //            NewsProductHelper newsProHelper = new NewsProductHelper();
        //            newsProHelper.Add(newsProduct);
        //            newsProHelper.Save();

        //            //Sau khi insert Thông tin của sản phẩm vào CSDL thì mới lưu thông tin hình ảnh
        //            //Mục đích là để tạo ra NProId trước, sau đó mới newsProductThumb mới tham chiếu vào id đó
        //            //Phần hình minh họa
        //            NewsProductThumbHelper newsProThumbHelper = new NewsProductThumbHelper();
        //            NewsProductThumb newsProductThumb = null;

        //            bool isMainThumb = true;
        //            foreach (string file in Request.Files)
        //            {
        //                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
        //                if (hpf.ContentLength == 0)
        //                    continue;
        //                string fileName = hpf.FileName;
        //                newsProductThumb = new NewsProductThumb();
        //                newsProductThumb.NProId = newsProduct.NProId;
        //                newsProductThumb.NProThumbName = fileName;
        //                if (isMainThumb)
        //                {
        //                    //Up hình lên server
        //                    UploadImageToServer(hpf);
        //                    //Thêm vào CSDL 
        //                    newsProductThumb.NProThumbIsMain = true;
        //                    isMainThumb = false;
        //                    newsProThumbHelper.Add(newsProductThumb);
        //                    newsProThumbHelper.Save();
        //                    continue;
        //                }
        //                newsProductThumb.NProThumbIsMain = false;

        //                //Upload hình lên server
        //                UploadImageToServer(hpf);
        //                //Thêm vào CSDL
        //                newsProThumbHelper.Add(newsProductThumb);
        //                newsProThumbHelper.Save();
        //            }
        //        }
        //        else
        //        {
        //            foreach (var issue in newsProduct.GetRuleViolations())
        //            {
        //                ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
        //            }
        //            Init();
        //            return View("~/Views/Private/ProductCreate.aspx");
        //        }
        //    }
        //    return RedirectToAction("Index", "ProductCreate", new { uid = (int)Session["MemId"] });
        //}
    }
}
